/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mrp.persistencia.entity;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

/**
 *
 * @author root
 */
@Entity
@Table(name = "ordenproduccion")
@NamedQueries({
    @NamedQuery(name = "Ordenproduccion.findAll", query = "SELECT o FROM Ordenproduccion o"),
    @NamedQuery(name = "Ordenproduccion.findByNumerotarjetafabricacion", query = "SELECT o FROM Ordenproduccion o WHERE o.numerotarjetafabricacion = :numerotarjetafabricacion"),
    @NamedQuery(name = "Ordenproduccion.findByCerco", query = "SELECT o FROM Ordenproduccion o WHERE o.cerco = :cerco"),
    @NamedQuery(name = "Ordenproduccion.findByCorrida", query = "SELECT o FROM Ordenproduccion o WHERE o.corrida = :corrida"),
    @NamedQuery(name = "Ordenproduccion.findByFechacreacion", query = "SELECT o FROM Ordenproduccion o WHERE o.fechacreacion = :fechacreacion"),
    @NamedQuery(name = "Ordenproduccion.findByHoracreacion", query = "SELECT o FROM Ordenproduccion o WHERE o.horacreacion = :horacreacion"),
    @NamedQuery(name = "Ordenproduccion.findByDigitador", query = "SELECT o FROM Ordenproduccion o WHERE o.digitador = :digitador"),
    @NamedQuery(name = "Ordenproduccion.findByFechadigitador", query = "SELECT o FROM Ordenproduccion o WHERE o.fechadigitador = :fechadigitador")})
public class Ordenproduccion implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 2147483647)
    @Column(name = "numerotarjetafabricacion")
    private String numerotarjetafabricacion;
    @Basic(optional = false)
    @NotNull
    @Column(name = "cerco")
    private boolean cerco;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 2147483647)
    @Column(name = "corrida")
    private String corrida;
    @Basic(optional = false)
    @NotNull
    @Column(name = "fechacreacion")
    @Temporal(TemporalType.DATE)
    private Date fechacreacion;
    @Basic(optional = false)
    @NotNull
    @Column(name = "horacreacion")
    @Temporal(TemporalType.TIME)
    private Date horacreacion;
    @Basic(optional = false)
    @NotNull
    @Column(name = "digitador")
    private int digitador;
    @Basic(optional = false)
    @NotNull
    @Column(name = "fechadigitador")
    @Temporal(TemporalType.TIMESTAMP)
    private Date fechadigitador;
    @JoinColumn(name = "planmaestroproducciondetallado_fk", referencedColumnName = "numeroingreso")
    @ManyToOne(optional = false)
    private Planmaestroproducciondetallado planmaestroproducciondetalladoFk;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "ordenproduccionFk")
    private List<Detalleordenproduccion> detalleordenproduccionList;

    public Ordenproduccion() {
    }

    public Ordenproduccion(String numerotarjetafabricacion) {
        this.numerotarjetafabricacion = numerotarjetafabricacion;
    }

    public Ordenproduccion(String numerotarjetafabricacion, boolean cerco, String corrida, Date fechacreacion, Date horacreacion, int digitador, Date fechadigitador) {
        this.numerotarjetafabricacion = numerotarjetafabricacion;
        this.cerco = cerco;
        this.corrida = corrida;
        this.fechacreacion = fechacreacion;
        this.horacreacion = horacreacion;
        this.digitador = digitador;
        this.fechadigitador = fechadigitador;
    }

    public String getNumerotarjetafabricacion() {
        return numerotarjetafabricacion;
    }

    public void setNumerotarjetafabricacion(String numerotarjetafabricacion) {
        this.numerotarjetafabricacion = numerotarjetafabricacion;
    }

    public boolean getCerco() {
        return cerco;
    }

    public void setCerco(boolean cerco) {
        this.cerco = cerco;
    }

    public String getCorrida() {
        return corrida;
    }

    public void setCorrida(String corrida) {
        this.corrida = corrida;
    }

    public Date getFechacreacion() {
        return fechacreacion;
    }

    public void setFechacreacion(Date fechacreacion) {
        this.fechacreacion = fechacreacion;
    }

    public Date getHoracreacion() {
        return horacreacion;
    }

    public void setHoracreacion(Date horacreacion) {
        this.horacreacion = horacreacion;
    }

    public int getDigitador() {
        return digitador;
    }

    public void setDigitador(int digitador) {
        this.digitador = digitador;
    }

    public Date getFechadigitador() {
        return fechadigitador;
    }

    public void setFechadigitador(Date fechadigitador) {
        this.fechadigitador = fechadigitador;
    }

    public Planmaestroproducciondetallado getPlanmaestroproducciondetalladoFk() {
        return planmaestroproducciondetalladoFk;
    }

    public void setPlanmaestroproducciondetalladoFk(Planmaestroproducciondetallado planmaestroproducciondetalladoFk) {
        this.planmaestroproducciondetalladoFk = planmaestroproducciondetalladoFk;
    }

    public List<Detalleordenproduccion> getDetalleordenproduccionList() {
        return detalleordenproduccionList;
    }

    public void setDetalleordenproduccionList(List<Detalleordenproduccion> detalleordenproduccionList) {
        this.detalleordenproduccionList = detalleordenproduccionList;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (numerotarjetafabricacion != null ? numerotarjetafabricacion.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Ordenproduccion)) {
            return false;
        }
        Ordenproduccion other = (Ordenproduccion) object;
        if ((this.numerotarjetafabricacion == null && other.numerotarjetafabricacion != null) || (this.numerotarjetafabricacion != null && !this.numerotarjetafabricacion.equals(other.numerotarjetafabricacion))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "mrp.persistencia.entity.Ordenproduccion[ numerotarjetafabricacion=" + numerotarjetafabricacion + " ]";
    }
    
}
